package com.zjcode.cdcer.model;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

/**
 * @Description 自测表推送数据
 * @Author bqyang
 * @Date 2024/4/3 15:10
 * @Version 1.0
 */
@Data
public class PushSelfTestDataInfo {

    private Long personal_formal_id;

    /**
     * required
     * 省份
     */
    private Integer province_id;

    /**
     * required
     * 城市
     */
    private Integer city_id;

    /**
     * required
     *  区县
     */
    private Integer district_id;

    /**
     *  详细住址
     */
    private String address;

    /**
     * required
     *  姓名
     */
    private String name;

    /**
     * required
     *  性别：男，女 0=男,1=女
     */
    private Integer sex;

    /**
     * required
     *  民族:1=汉族,2=蒙古族,3=回族,4=藏族,5=维吾尔族,6=苗族,7=彝族,8=壮族,9=布依族,10=朝鲜族,11=满族,12=侗族,13=瑶族,14=白族,
     *  15=土家族,16=哈尼族,17=哈萨克族,18=傣族,19=黎族,20=僳僳族,21=佤族,22=畲族,23=高山族,24=拉祜族,25=水族,26=东乡族,
     *  27=纳西族,28=景颇族,29=柯尔克孜族,30=土族,31=达斡尔族,32=仫佬族,33=羌族,34=布朗族,35=撤拉族,36=毛难族,37=仡佬族,
     *  38=锡伯族,39=阿昌族,40=普米族,41=塔吉克族,42=怒族,43=乌孜别克族,44=俄罗斯族,45=鄂温克族,46=崩龙族,47=保安族,48=裕固族,
     *  49=京族,50=塔塔尔族,51=独龙族,52=鄂伦春族,53=赫哲族,54=门巴族,55=珞巴族,56=基诺族
     */
    private Integer nation;

    /**
     * required
     *  身份证
     */
    private String sfz;

    /**
     * required
     *  手机号
     */
    private String phone;

    /**
     *  婚姻状况:未婚,已婚,离异,丧偶
     */
    private String marri;

    /**
     *  教育程度:未上过学,小学,初中,高中,大专及以上
     */
    private String education;

    /**
     *  您家现在有几口人?（同户籍）:1人,2-3人,4-5人,6-7人,8-9人,10人以上
     */
    private String people_number;

    /**
     *  您家庭平均年收入大约多少元:1万以下,1-4.9万,5-9.9万,10-19.9万,20万以上,不清楚
     */
    private String average_revenue;

    /**
     *  身高(cm)
     */
    private Integer height;

    /**
     *  体重(kg)
     */
    private Integer weight;

    /**
     * 收缩压:120mmHg以下,120mmHg-139mmHg,140mmHg-179mmHg,180mmHg以上
     */
    private String press2;

    /**
     * 舒张压:80mmHg以下,80mmHg-89mmHg,90mmHg-109mmHg,110mmHg以上
     */
    private String press1;

    /**
     *  饮水主要来源:地窖水、池塘水、浅井水,湖水、河水,深井水、泉水,纯净水/自来水（经处理)
     */
    private String water_source;

    /**
     *  吸烟:0=否,1=是
     */
    private Integer smoke;

    /**
     *  吸烟频率(支/天)
     */
    private Integer smoke_frequency;
    /**
     *  吸烟持续年数(年)
     */
    private Integer smoke_year;
    /**
     *  饮酒:0=偶尔喝,1=经常和,2不喝
     */
    private Integer drink;

    /**
     * 饮酒量:<2两,2-5两,6-10两,>10两
     */
    private String drink_frequency;

    /**
     * 饮酒频率(年):一周2-3次,一周4-6次,一周6次以上
     */
    private String drink_year;

    /**
     * 饮红茶:0=偶尔喝,1=经常和,2不喝
     */
    private Integer black_tea;

    /**
     * 饮茶持续年数:<1年,1-5年,6-10年,>10年
     */
    private String black_tea_age;

    /**
     * 饮绿茶:0=偶尔喝,1=经常和,2不喝
     */
    private Integer green_tea;

    /**
     * 饮茶持续年数:<1年,1-5年,6-10年,>10年
     */
    private String green_tea_age;

    /**
     * 新鲜蔬菜:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer fresh_vegetables;

    /**
     * 新鲜水果:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer fresh_fruit;

    /**
     * 肉蛋奶类:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer chicken_souffle;

    /**
     * 豆类食品:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer beans;

    /**
     * 腌晒食品:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer tapa;

    /**
     * 油炸食品:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer deep_fry;

    /**
     * 热烫食品:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer mulled;

    /**
     * 霉变食品:0=从不,1=很少(<2次 /周),2=经常(≥2次/周)
     */
    private Integer mildew;

    /**
     * 您平时吃一顿饭的时间是多少分钟？:1-10分钟,11-20分钟,21-30分钟,30分钟以上
     */
    private String meal_minutes;

    /**
     * 有没有牙齿缺失 0=否,1=是
     */
    private Integer tooth_loss;

    /**
     * 缺失几颗牙
     */
    private String seed_tooth;

    /**
     * 种植/镶几颗牙
     */
    private String dental_implant;


    /**
     * 是否做过胃镜:0=否,1=是
     */
    private Integer gastroscope;

    /**
     * 反流性食管炎:0=否,1=是
     */
    private Integer reflux_esophagitis;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String reflux_esophagitis_age;

    /**
     * 贲门肠上皮化生:0=否,1=是
     */
    private Integer gardiac_intestinal_metaplasia;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String gardiac_intestinal_metaplasia_age;

    /**
     * 非萎缩性胃炎:0=否,1=是
     */
    private Integer non_atrophic_gastritis;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String non_atrophic_gastritis_age;

    /**
     * 萎缩性胃炎:0=否,1=是
     */
    private Integer atrophic_gastritis;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String atrophic_gastritis_age;


    /**
     * 肠上皮化生:0=否,1=是
     */
    private Integer intestinal_metaplasia;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String intestinal_metaplasia_age;

    /**
     * 胃、十二指肠溃疡:0=否,1=是
     */
    private Integer gastric_and_duodenal_ulcer;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String gastric_and_duodenal_ulcer_age;

    /**
     * 胃息肉:0=否,1=是
     */
    private Integer gastric_polyp;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String gastric_polyp_age;


    /**
     * 低级别上皮内瘤变:0=否,1=是
     */
    private Integer low_grade_intraepithelial_neoplasia;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String low_grade_intraepithelial_neoplasia_age;


    /**
     * 高级别瘤变与早癌:0=否,1=是
     */
    private Integer advanced_neoplasia_and_early_cancer;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String advanced_neoplasia_and_early_cancer_age;

    /**
     * 良性疾病胃大部切除史:0=否,1=是
     */
    private Integer years_after_operation_for_benign_diseases;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String years_after_operation_for_benign_diseases_age;

    /**
     * 胃癌胃大部切除史:0=否,1=是
     */
    private Integer remnant_stomach;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String remnant_stomach_age;

    /**
     * Barrett食管（巴雷特食管）:0=否,1=是
     */
    private Integer barrett;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String barrett_age;

    /**
     * 胃黏膜巨大皱褶征:0=否,1=是
     */
    private Integer gastric_mucosa;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String gastric_mucosa_age;

    /**
     * 幽门螺杆菌感染:0=否,1=是
     */
    private Integer helicobacter_pylori_infection;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String helicobacter_pylori_infection_age;

    /**
     * 幽门螺杆菌检测方法:快速尿素酶试验,碳13呼气试验,碳14呼气试验,血清抗体试验,病理诊断,粪便抗原检测,不清楚
     */
    private String c13;

    /**
     * 肝炎:0=否,1=是
     */
    private Integer hepatitis;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String hepatitis_frequency;

    /**
     * 头颈部或呼吸道鳞癌:0=否,1=是
     */
    private Integer respiratory_tract;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String respiratory_tract_age;

    /**
     * 恶性贫血:0=否,1=是
     */
    private Integer pernicious_anemia;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String pernicious_anemia_age;


    /**
     * 其它:0=否,1=是
     */
    private Integer other_illness;

    /**
     * 疾病名称
     */
    private String other_illness_name;

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     */
    private String other_illness_frequency;

    /**
     * 你家中有没有人得过肿瘤:0=否,1=是
     */
    private Integer tumour;

    /**
     * 亲属关系:[{kinship: ",tumour_name: ",tumour_other_name: "}],
     * kinship:01=父母,02=兄弟姐妹,03=儿女,
     * tumour_name:g1=肺癌,g2=乳腺癌,g3=结直肠癌,g4=肝癌,g5=胃癌,g6=食管癌,g7=子宫颈癌,g8=甲状腺癌,g9=前列腺癌,g10=子宫体癌,g12=口腔和咽喉肿瘤,g13=鼻咽癌,g14=肛门癌,g15=胆囊癌,g16=胰腺癌,g17=喉癌,g19=骨肿瘤,g18=皮肤黑色素瘤,g20=卵巢癌,g21=睾丸癌,g22=肾癌,g23=膀胱癌,g24=脑和中枢神经系统肿瘤,g25=淋巴瘤,g26=白血病,其他=其他
     */
    private Object tumour_json;

    public void setSelfTestData(PushSelfTestDataInfo testDataInfo,CerPersonalInfo personalInfo,ZjcodeSelfTestInfo testInfo){
        if (Objects.nonNull(personalInfo)) {
            testDataInfo.setProvince_id(makeLengthSix(personalInfo.getProvinceId()));
            testDataInfo.setCity_id(makeLengthSix(personalInfo.getCityId()));
            testDataInfo.setDistrict_id(makeLengthSix(personalInfo.getDistrictId()));
            testDataInfo.setAddress(personalInfo.getAddr());
            testDataInfo.setName(personalInfo.getName());
            testDataInfo.setSex(personalInfo.getSex().equals("男") ? 0 : 1);
            testDataInfo.setSfz(personalInfo.getIdCard());
            testDataInfo.setPhone(personalInfo.getPhone());
        }
        JSONObject json = JSON.parseObject(testInfo.getContent());
        testDataInfo.setMarri(this.getMarri(json.getString("maritalStatus")));
        testDataInfo.setEducation(this.getEducation(json.getString("degreeEducation")));
        testDataInfo.setPeople_number(this.getPopulation(json.getString("population")));
        testDataInfo.setAverage_revenue(this.getIncomeData(json.getString("income")));
        testDataInfo.setHeight(json.getInteger("height"));
        testDataInfo.setWeight(json.getInteger("weight"));
        testDataInfo.setPress2(this.getPress2(json.getString("systolicPressure")));
        testDataInfo.setPress1(this.getPress1(json.getString("diastolicPressure")));

        testDataInfo.setWater_source(this.getWaterSource(json.getString("headwaters")));
        testDataInfo.setSmoke(json.getString("smoke").equals("1")? 0 : 1);
        testDataInfo.setSmoke_frequency(json.getIntValue("smokingFrequency"));
        testDataInfo.setSmoke_year(json.getIntValue("smokingYear"));
        testDataInfo.setDrink(this.getDrink(json.getString("drink")));
        testDataInfo.setDrink_frequency(this.getDrinkFrequency(json.getString("drinkQuantity")));
        testDataInfo.setDrink_year(this.getDrinkYear(json.getString("drinkFrequency")));
        testDataInfo.setBlack_tea(this.getBlackTea(json.getString("blackTea")));
        testDataInfo.setBlack_tea_age(this.getBlackTeaYear(json.getString("blackTeaYear")));
        testDataInfo.setGreen_tea(this.getGreenTea(json.getString("greenTea")));
        testDataInfo.setGreen_tea_age(this.getBlackTeaYear(json.getString("greenTeaYear")));
        testDataInfo.setFresh_vegetables(this.getFood(json.getString("vegetable")));
        testDataInfo.setFresh_fruit(this.getFood(json.getString("fruits")));
        testDataInfo.setChicken_souffle(this.getFood(json.getString("eggsMilk")));
        testDataInfo.setBeans(this.getFood(json.getString("BeanFood")));
        testDataInfo.setTapa(this.getFood(json.getString("sunDryFood")));
        testDataInfo.setDeep_fry(this.getFood(json.getString("deepFryFood")));
        testDataInfo.setMulled(this.getFood(json.getString("hotFood")));
        testDataInfo.setMildew(this.getFood(json.getString("mildewFood")));
        testDataInfo.setMeal_minutes(this.getMeal(json.getString("mealTime")));

        testDataInfo.setTooth_loss(json.getString("tooth").equals("1")? 0 : 1);
        testDataInfo.setSeed_tooth(this.getSeed(json.getString("loseTooth")));
        testDataInfo.setDental_implant(this.getDental(json.getString("plantTooth")));

        testDataInfo.setGastroscope(json.getString("gastroscope").equals("1")? 0 : 1);
        testDataInfo.setReflux_esophagitis(json.getString("oesophagitis").equals("1")? 0 : 1);
        testDataInfo.setReflux_esophagitis_age(this.getVerifyTime(json.getString("oesophagitisTime")));
        testDataInfo.setGardiac_intestinal_metaplasia(json.getString("cardiaIntestinalMetaplasia").equals("1")? 0 : 1);
        testDataInfo.setGardiac_intestinal_metaplasia_age(this.getVerifyTime(json.getString("cardiaIntestinalMetaplasiaTime")));
        testDataInfo.setNon_atrophic_gastritis(json.getString("nonAtrophicGastritis").equals("1")? 0 : 1);
        testDataInfo.setNon_atrophic_gastritis_age(this.getVerifyTime(json.getString("nonAtrophicGastritisTime")));
        testDataInfo.setAtrophic_gastritis(json.getString("atrophicGastritis").equals("1")? 0 : 1);

        testDataInfo.setAtrophic_gastritis_age(this.getVerifyTime(json.getString("atrophicGastritisTime")));

        testDataInfo.setIntestinal_metaplasia(json.getString("intestinalMetaplasia").equals("1")? 0 : 1);
        testDataInfo.setIntestinal_metaplasia_age(this.getVerifyTime(json.getString("intestinalMetaplasiaTime")));
        testDataInfo.setGastric_and_duodenal_ulcer(json.getString("gastricAndDuodenalUlcers").equals("1")? 0 : 1);
        testDataInfo.setGastric_and_duodenal_ulcer_age(this.getVerifyTime(json.getString("gastricAndDuodenalUlcersTime")));

        testDataInfo.setGastric_polyp(json.getString("gastricPolyps").equals("1")? 0 : 1);
        testDataInfo.setGastric_polyp_age(this.getVerifyTime(json.getString("gastricPolypsTime")));

        testDataInfo.setLow_grade_intraepithelial_neoplasia(json.getString("lowGradeIntraepithelialNeoplasia").equals("1")? 0 : 1);
        testDataInfo.setLow_grade_intraepithelial_neoplasia_age(this.getVerifyTime(json.getString("lowGradeIntraepithelialNeoplasiaTime")));
        testDataInfo.setAdvanced_neoplasia_and_early_cancer(json.getString("highGradeNeoplasiaAndEarlyCancer").equals("1")? 0 : 1);
        testDataInfo.setAdvanced_neoplasia_and_early_cancer_age(this.getVerifyTime(json.getString("highGradeNeoplasiaAndEarlyCancerTime")));

        testDataInfo.setYears_after_operation_for_benign_diseases(json.getString("historyOfBenignDiseaseSubtotalGastrectomy").equals("1")? 0 : 1);
        testDataInfo.setYears_after_operation_for_benign_diseases_age(this.getVerifyTime(json.getString("historyOfBenignDiseaseSubtotalGastrectomyTime")));
        testDataInfo.setRemnant_stomach(json.getString("historyOfSubtotalGastrectomyForGastricCancer").equals("1")? 0 : 1);
        testDataInfo.setRemnant_stomach_age(this.getVerifyTime(json.getString("historyOfSubtotalGastrectomyForGastricCancerTime")));

        testDataInfo.setBarrett(json.getString("barrettEsophagus").equals("1")? 0 : 1);
        testDataInfo.setBarrett_age(this.getVerifyTime(json.getString("barrettEsophagusTime")));

        testDataInfo.setGastric_mucosa(json.getString("gastricMucosaGiantFoldSign").equals("1")? 0 : 1);
        testDataInfo.setGastric_mucosa_age(this.getVerifyTime(json.getString("gastricMucosaGiantFoldSignTime")));

        testDataInfo.setHelicobacter_pylori_infection(json.getString("helicobacterPyloriInfection").equals("1")? 0 : 1);
        testDataInfo.setHelicobacter_pylori_infection_age(this.getVerifyTime(json.getString("helicobacterPyloriInfectionTime")));

        testDataInfo.setC13(this.getC13(json.getString("helicobacterPyloriDetectionMethod")));

        testDataInfo.setHepatitis(json.getString("hepatitis").equals("1")? 0 : 1);
        testDataInfo.setHepatitis_frequency(this.getVerifyTime(json.getString("hepatitisTime")));
        testDataInfo.setRespiratory_tract(json.getString("squamousCellCarcinomaOfTheHeadNeckOrRespiratoryTract").equals("1")? 0 : 1);
        testDataInfo.setRespiratory_tract_age(this.getVerifyTime(json.getString("squamousCellCarcinomaOfTheHeadNeckOrRespiratoryTractTime")));
        testDataInfo.setPernicious_anemia(json.getString("perniciousAnemia").equals("1")? 0 : 1);
        testDataInfo.setPernicious_anemia_age(this.getVerifyTime(json.getString("perniciousAnemiaTime")));

        testDataInfo.setOther_illness(json.getString("else").equals("1")? 0 : 1);
        testDataInfo.setOther_illness_name(json.getString("diseasName"));
        testDataInfo.setOther_illness_frequency(this.getVerifyTime(json.getString("elseTime")));

        testDataInfo.setTumour(json.getString("firstDegreeRelativeHadTumor").equals("1")? 0 : 1);
        if (testDataInfo.getTumour() == 1) {
            JSONArray jsonArray = json.getJSONArray("content");

            List<Map<String,String>> list = Lists.newArrayList();
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                Map<String,String> map = new HashMap<>();

                map.put("kinship",this.getKinship(jsonObject.getString("domesticRelation")));
                map.put("tumour_name",this.getTumourName(jsonObject.getString("tumorName")));
                map.put("tumour_other_name","");
                list.add(map);
            }

            testDataInfo.setTumour_json(JSONObject.toJSON(list));
        }
    }

    /**
     *  亲属关系
     *  01=父母,02=兄弟姐妹,03=儿女
     * @param str
     * @return
     */
    private String getKinship(String str){
        switch (str) {
            case "1":
                return "01";
            case "2":
                return "02";
            case "3":
                return "03";
            default:
                return "01";
        }
    }

    /**
     * 肿瘤名称
     * g1=肺癌,g2=乳腺癌,g3=结直肠癌,g4=肝癌,g5=胃癌,g6=食管癌,g7=子宫颈癌,g8=甲状腺癌,g9=前列腺癌,g10=子宫体癌,
     * g12=口腔和咽喉肿瘤,g13=鼻咽癌,g14=肛门癌,g15=胆囊癌,g16=胰腺癌,g17=喉癌,g19=骨肿瘤,g18=皮肤黑色素瘤,g20=卵巢癌,
     * g21=睾丸癌,g22=肾癌,g23=膀胱癌,g24=脑和中枢神经系统肿瘤,g25=淋巴瘤,g26=白血病,其他=其他
     * @param str
     * @return
     */
    private String getTumourName(String str) {
        switch (str) {
            case "26":
                return "其他";
            default:
                return "g"+str;
        }
    }

    /**
     * 省市区 长度不足6位补0
     * @param str
     * @return
     */
    private Integer makeLengthSix(String str) {
        StringBuilder sb = new StringBuilder(str);
        while (sb.length() < 6) {
            sb.append('0');
        }
        String result = sb.toString();
        return Integer.parseInt(result);
    }

    /**
     * 婚姻状况
     * @param str
     * @return
     */
    private String getMarri(String str) {
       switch (str) {
           case "1":
               return "未婚";
           case "2":
               return "已婚";
           case "3":
               return "离异";
           case "4":
               return "丧偶";
           default:
               return "未婚";
       }
    }

    /**
     * 教育程度:未上过学,小学,初中,高中,大专及以
     * @param str
     * @return
     */
    private String getEducation(String str){
        switch (str) {
            case "1":
                return "未上过学";
            case "2":
                return "小学";
            case "3":
                return "初中";
            case "4":
                return "高中";
            case "5":
                return "大专及以上";
            default:
                return "";
        }
    }

    /**
     * 人口规模:1人,2-3人,4-5人,6-7人,8-9人,10人以上
     * @param str
     * @return
     */
    private String getPopulation(String str) {
        switch (str) {
            case "1":
                return "1人";
            case "2":
                return "2-3人";
            case "3":
                return "4-5人";
            case "4":
                return "6-7人";
            case "5":
                return "8-9人";
            case "6":
                return "10人以上";
            default:
                return "";
        }
    }

    private String getIncomeData(String str){
        switch (str) {
            case "1":
                return "1万以下";
            case "2":
                return "1-4.9万";
            case "3":
                return "5-9.9万";
            case "4":
                return "10-19.9万";
            case "5":
                return "20万以上";
            default:
                return "不清楚";
        }
    }

    /**
     *  高压
     * @param str
     * @return
     */
    private String getPress2(String str) {
        switch (str) {
            case "1":
                return "120mmHg以下";
            case "2":
                return "120mmHg-139mmHg";
            case "3":
                return "140mmHg-179mmHg";
            case "4":
                return "180mmHg以上";
            default:
                return "";
        }
    }

    /**
     * 低压
     * @param str
     * @return
     */
    private String getPress1(String str) {
        switch (str) {
            case "1":
                return "80mmHg以下";
            case "2":
                return "80mmHg-89mmHg";
            case "3":
                return "90mmHg-109mmHg";
            case "4":
                return "110mmHg以上";
            default:
                return "";
        }
    }

    /**
     * 水源
     * @param str
     * @return
     */
    private String getWaterSource(String str) {
        switch (str) {
            case "1":
                return "地窖水、池塘水、浅井水";
            case "2":
                return "湖水、河水";
            case "3":
                return "深井水、泉水";
            case "4":
                return "纯净水/自来水（经处理)";
            default:
                return "";
        }
    }

    /**
     * 饮酒
     * @param str
     * @return
     */
    private Integer getDrink(String str){
        switch (str) {
            case "1":
                return 2;
            case "2":
                return 0;
            case "3":
                return 1;
            default:
                return 0;
        }
    }

    /**
     * 饮酒量:<2两,2-5两,6-10两,>10两
     * @param str
     * @return
     */
    private String getDrinkFrequency(String str) {
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "1":
                return "<2两";
            case "2":
                return "2-5两";
            case "3":
                return "6-10两";
            case "4":
                return ">10两";
            default:
                return "";
        }
    }

    /**
     * 饮酒频率(年):一周2-3次,一周4-6次,一周6次以上
     * @param str
     * @return
     */
    private String getDrinkYear(String str) {
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "1":
                return "一周2-3次";
            case "2":
                return "一周4-6次";
            case "3":
                return "一周6次以上";
            default:
                return "";
        }
    }

    /**
     * 红茶 0=偶尔喝,1=经常和,2不喝
     * @param str
     * @return
     */
    private Integer getBlackTea(String str){
        switch (str) {
            case "2":
                return 0;
            case "3":
                return 1;
            case "1":
                return 2;
            default:
                return 0;
        }
    }

    /**
     * 饮茶持续年数:<1年,1-5年,6-10年,>10年
     * @param str
     * @return
     */
    private String getBlackTeaYear(String str) {
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "1":
                return "<1年";
            case "2":
                return "1-5年";
            case "3":
                return "6-10年";
            default:
                return ">10年";
        }
    }

    /**
     * 绿茶 0=偶尔喝,1=经常喝,2不喝
     * @param str
     * @return
     */
    private Integer getGreenTea(String str){
        switch (str) {
            case "2":
                return 0;
            case "3":
                return 1;
            case "1":
                return 2;
            default:
                return 0;
        }
    }

    /**
     *
     * @param str
     * @return
     */
    private Integer getFood(String str){
        switch (str) {
            case "1":
                return 0;
            case "2":
                return 1;
            case "3":
                return 2;
            default:
                return 0;
        }
    }

    /**
     * 您平时吃一顿饭的时间是多少分钟
     * @param str
     * @return
     */
    private String getMeal(String str){
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "1":
                return "1-10分钟";
            case "2":
                return "11-20分钟";
            case "3":
                return "21-30分钟";
            default:
                return "30分钟以上";
        }
    }

    /**
     * 疾病确诊后时间:<1年,1-5年,6-10年,>10年
     * @param str
     * @return
     */
    private String getVerifyTime(String str){
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "1":
                return "<1年";
            case "2":
                return "1-5年";
            case "3":
                return "6-10年";
            default:
                return ">10年";
        }
    }

    /**
     * 幽门螺杆菌检测方法:快速尿素酶试验,碳13呼气试验,碳14呼气试验,血清抗体试验,病理诊断,粪便抗原检测,不清楚
     * @param str
     * @return
     */
    private String getC13(String str){
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "1":
                return "快速尿素酶试验";
            case "2":
                return "碳 13呼气试验";
            case "3":
                return "碳 14呼气试验";
            case "4":
                return "血清抗体试验";
            case "5":
                return "病理诊断";
            case "6":
                return "粪便抗原检测";
            default:
                return "不清楚";
        }
    }



    /**
     * 饮茶持续年数:<1年,1-5年,6-10年,>10年
     * @param str
     * @return
     */
    private String getSeed(String str) {
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "1":
                return "1颗";
            case "2":
                return "2-4颗";
            case "3":
                return "3-5颗";
            default:
                return "5颗以上";
        }
    }

    /**
     * 饮茶持续年数:<1年,1-5年,6-10年,>10年
     * @param str
     * @return
     */
    private String getDental(String str) {
        if (StringUtils.isEmpty(str)){
            return "";
        }
        switch (str) {
            case "2":
                return "1颗";
            case "3":
                return "2-4颗";
            case "4":
                return "3-5颗";
            case "5":
                return "5颗以上";
            default:
                return "无";
        }
    }
}
